Guarded Sections: Structuring Aid for Wait-Free Synchronisation

نویسندگان

  • Gabor Drescher
  • Wolfgang Schröder-Preikschat
چکیده

Wait-free synchronisation gives any process in the system strong progress guarantees, irrespective of number and behaviour of other processes simultaneously competing for shared resources (i.e., data structures and code sections). It ensures completion of any operation in a finite number of steps and, thus, provides the basis to derive bounded above or even constant executions times for each of these operations of the non-sequential programs. This characteristic is of special meaning for timedependent processes typical for real-time (embedded) systems. Unfortunately, wait-free synchronisation against the background of arbitrary data and code structures is no bed of roses. This paper is about a two-stage approach of organising nonsequential programs to the benefit of wait-free synchronisation. In a preceding constructional stage, conventional critical sections are designed as so called guarded sections. Other than critical sections, processes never block at entrance to a guarded section although only one process at a time is allowed to pass through. Competing processes are forced into bypass but, if necessary and by using futures, they can synchronise on concurrent state changes inside the respective section. In consequence of this measure, the execution model of guarded sections constrains the overlapping pattern of interacting (simultaneous) processes. Thereby, in the downstream transactional stage, efficient waitfree synchronisation of the “guarding operations” is gratifying by-product. First experimental results made with a 80-way multi-core system show that non-blocking wait-free synchronised guarded sections outperform MCS-locks.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Experiment in Wait-Free Synchronisation of Priority-Controlled Simultaneous Processes: Guarded Sections

Wait-free synchronisation gives any process in the system strong progress guarantees, irrespective of number and behaviour of other processes simultaneously competing for shared resources (i.e., data structures and code sections). It ensures completion of any operation in a finite number of steps and, thus, provides the basis to derive bounded above or even constant executions times for non-seq...

متن کامل

Predictable Synchronisation Algorithms for Asynchronous Critical Sections

Multi-core processors are ubiquitous. Even embedded systems nowadays use processors with multiple cores. Such use cases often impose latency requirements because they interact with physical objects. One consequence is a need for synchronisation algorithms that provide predictable latency, in addition to high throughput. A promising approach are asynchronous critical sections that avoid waiting ...

متن کامل

Teachers’ Limited Wait-Time Practice and Learners’ Participation opportunities in EFL Classroom Interaction

Pairing theory with methodology, this study demonstrates how EFL teachers’ limited wait-time practice structures in and affects the structuring of the unfolding classroom discourse with reference to learners’ participation opportunities. Informed by the tenets of conversation analysis, we have observed, videotaped, and transcribed line-by-line 10 EFL teachers’ naturally-occurring classroom inte...

متن کامل

A Model of Guarded Recursion With Clock Synchronisation

Guarded recursion is an approach to solving recursive type equations where the type variable appears guarded by a modality to be thought of as a delay for one time step. Atkey and McBride proposed a calculus in which guarded recursion can be used when programming with coinductive data, allowing productivity to be captured in types. The calculus uses clocks representing time streams and clock qu...

متن کامل

Applications of wait/lock-free protocols to real-time systems

In most real-time systems, concurrency and access to shared resources are controlled by locking. A serious disadvantage is that locking may give rise to priority inversion, i.e. situations in which a high-priority task has to wait for a low-priority task to release a lock. That is a serious problem, because it can make a task miss its deadline, which, in turn can cause various types of disaster...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014